package com.linkhub.oms.data.sync.api.shopify.client;

import com.dtflys.forest.annotation.Get;
import com.dtflys.forest.annotation.Header;
import com.dtflys.forest.annotation.Var;
import com.dtflys.forest.http.ForestResponse;
import com.linkhub.oms.data.sync.api.shopify.domain.response.ShopResponse;
import com.linkhub.oms.data.sync.api.shopify.domain.response.ShopShippingNameResponse;

import static com.linkhub.oms.common.constant.ShopifyConstant.ACCESS_TOKEN_HEADER;

/**
 * @Description: ShopClient
 * @Author: echo
 * @Date: 2024/3/21 16:01
 * @Version: 1.0
 */
public interface ShopClient {


    @Get("{shop_url}/admin/api/2024-01/shop.json?fields={fields}")
    ForestResponse<ShopResponse> shop(@Header(ACCESS_TOKEN_HEADER) String accessToken,
                      @Var("shop_url") String shopUrl,
                      @Var("fields") String fields);

    @Get("{shop_url}/admin/api/2024-01/shipping_zones.json")
    ForestResponse<ShopShippingNameResponse> shippingZones(@Header(ACCESS_TOKEN_HEADER) String accessToken,
                                                  @Var("shop_url") String shopUrl);
}
